package com.ljf.common.domain.repository.service;

import com.ljf.common.dto.query.PageParam;
import com.ljf.common.exception.ServiceException;
import com.ljf.common.model.BasisModel;

import java.util.List;

/**
 * 基础数据访问接口定义--修改部分--单表操作
 *
 * @author LJF
 * @since 2024-04-30
 */
public interface IUpdateService<M extends BasisModel, Q extends PageParam> {

    /**
     * 修改数据
     *
     * @param model
     * @return
     */
    int updateById(M model);

    /**
     * 修改数据
     *
     * @param model
     * @param query
     * @return
     */
    int update(M model, Q query) throws ServiceException;

    /**
     * 批量修改数据
     *
     * @param modelList
     * @return
     * @throws ServiceException
     */
    int updateBatchByIds(List<M> modelList) throws ServiceException;

}
